diff --git a/src/expr.cc b/src/expr.cc
index c8945d3..ad2589a 100644
--- a/src/expr.cc
+++ b/src/expr.cc
@@ -278,7 +278,7 @@ value_t expr_value(expr_t::ptr_op_t op)
 value_t source_command(call_scope_t& args)
 {
   std::istream * in = NULL;
-  scoped_ptr<ifstream> stream;
+  std::unique_ptr<ifstream> stream;
   string pathname;
 
   if (args.has(0)) {
diff --git a/src/format.h b/src/format.h
index 15431cf..57f3650 100644
--- a/src/format.h
+++ b/src/format.h
@@ -65,7 +65,7 @@ class format_t : public expr_base_t<string>, public noncopyable
     std::size_t                  min_width;
     std::size_t                  max_width;
     variant<string, expr_t>      data;
-    scoped_ptr<struct element_t> next;
+    std::unique_ptr<struct element_t> next;
 
     element_t() throw()
       : supports_flags<>(), type(STRING), min_width(0), max_width(0) {
@@ -103,7 +103,7 @@ class format_t : public expr_base_t<string>, public noncopyable
     void dump(std::ostream& out) const;
   };
 
-  scoped_ptr<element_t> elements;
+  std::unique_ptr<element_t> elements;
 
 public:
   static enum elision_style_t {
